void raindrop() {
static int pos = 0;
static int offset = 0;
static CRGB color;
  if ( pos == 0 ) {
    offset = random(5) * 24;
    color = doublecolor(random(12));
    leds[ offset + pos++ ] = color;
  } else {
    if ( pos < 24 + 7) {
      leds[ offset ] = leds[ offset + 1 ];
      leds[ offset ] /= 2;
      pos++;
    } else {
      pos = 0;
    }
  }
  FastLED.show();      // LEDに表示データを送信して表示を変更する
  eachlineshift();
  delay(75);
}

void randraindrop() {
static int pos[5] = {-1,-1,-1,-1,-1};
static int offset = 0;
static CRGB color[5];
  for (int i = 0; i < 5; i++) {
    if ( pos[i] == -1 ) {
      if ( random(30) < 1 ) {
        pos[i] = 0;
      }
    } else {
      if ( pos[i] == 0 ) {
  //      offset = random(5) * 24;
        color[i] = doublecolor(random(12));
        leds[ i * 24 + pos[i]++ ] = color[i];
      } else {
        if ( pos[i] < 24 + 7) {
          leds[ i * 24 ] = leds[ i * 24 + 1 ];
          leds[ i * 24 ] /= 2;
          pos[i]++;
        } else {
          pos[i] = -1;
        }
      }
    }
  }
  FastLED.show();      // LEDに表示データを送信して表示を変更する
  eachlineshift();
  delay(75);
}

void raindroptogether() {
static int pos[5] = {0,0,0,0,0};
static int offset = 0;
static CRGB color[5];
  for (int i = 0; i < 5; i++) {
    if ( pos[i] == 0 ) {
//      offset = random(5) * 24;
      color[i] = doublecolor(random(12));
      leds[ i * 24 + pos[i]++ ] = color[i];
    } else {
      if ( pos[i] < 24 + 7) {
        leds[ i * 24 ] = leds[ i * 24 + 1 ];
        leds[ i * 24 ] /= 2;
        pos[i]++;
      } else {
        pos[i] = 0;
      }
    }
  }
  FastLED.show();      // LEDに表示データを送信して表示を変更する
  eachlineshift();
  delay(75);
}

